#ifndef EASYMSGEVENTHANDLER_H
#define EASYMSGEVENTHANDLER_H

#include <QObject>
#include <QEvent>
#include <QMap>
#include <QList>
#include <tr1/functional>
#include <tr1/memory>
#include <tr1/shared_ptr.h>
#include "EasyMsgCallback.h"
namespace EM {
    class EasyMsg;
}

namespace EasyMsgImp{

#define MsgArrivedEventType   1
class MsgArrivedEvent: public QEvent{
public:
    MsgArrivedEvent(EM::EasyMsg* msg);
    EM::EasyMsg* msg;
};

class EasyMsgEventHandler : public QObject
{
    Q_OBJECT
public:
    explicit EasyMsgEventHandler(QObject *parent = 0);
protected:
    void customEvent(QEvent *event);
};

}
#endif // EASYMSGEVENTHANDLER_H
